package com.tensquare.friend.service;

import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.dao.NoFriendDao;
import com.tensquare.friend.pojo.Friend;
import com.tensquare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public class FriendService {

    @Autowired
    private FriendDao friendDao;

    @Autowired
    private NoFriendDao noFriendDao;

    //增加一个关注
    public int addFriend(String userid,String friendid){
        //先做一个判断，判断userid的friendid是否有数据，有就是重复添加好友（已经关注过）返回0
        Friend friend = friendDao.findByUseridAndFriendid(userid,friendid);
        if (null != friend){
            return 0;
        }
        //直接添加好友，让好友表中userid到friendid方向的type为0；
        friend = new Friend();
        friend.setUserid(userid);
        friend.setFriendid(friendid);
        friend.setIslike("0");
        friendDao.save(friend);
        //判断friendid到userid是否有数据，如果有把双方的状态改为1
        if (friendDao.findByUseridAndFriendid(friendid,userid)!=null){
            //把双方的islike都改为1
            friendDao.updateIslike("1",userid,friendid);
            friendDao.updateIslike("1",friendid,userid);
        }
        return 1;
    }

    //添加一个不喜欢
    public int addNofriend(String userid,String friendid){
        //先判断是不是非好友（已经不喜欢过）
        NoFriend noFriend = noFriendDao.findByUseridAndFriendid(userid,friendid);
        if (null != noFriend){
            return 0;
        }
        noFriend = new NoFriend();
        noFriend.setUserid(userid);
        noFriend.setFriendid(friendid);
        noFriendDao.save(noFriend);
        return 1;
    }

    //删除一个喜欢（关注）
    public void deleteFriend(String userid,String friendid){
        //先删除好友表中userid到friendid这条数据
        friendDao.deleteFriend(userid,friendid);
        //更新friendid到userid的islike为0
        friendDao.updateIslike("0",friendid,userid);
        //非好友表中添加数据
        NoFriend noFriend = new NoFriend();
        noFriend.setUserid(userid);
        noFriend.setFriendid(friendid);
        noFriendDao.save(noFriend);
    }

}
